Pattern matching apparatus

ABSTRACT

Speech recognition pattern matching is improved by using reference VCV (vowel-consonant-vowel) patterns, wherein dynamic programming finds the pattern difference (d), then integrating in the positive time (g1) and negative time (g2), then connecting patterns for a total distance integral (g*=g1+g2).

This is a continuation of application Ser. No. 946,128 filed 12/23/86, which is a continuation of application Ser. No. 529,813 filed 9/6/83 now abandoned.

BACKGROUND OF THE INVENTION

This invention relates to a pattern matching apparatus adapted to compare patterns, which are expressed as sequences of feature vectors, such as speech patterns.

A pattern matching method is widely used in a pattern recognition system in order to recognize an unknown pattern. In pattern recognition systems, pattern matching methods such as word level matching, and phoneme or syllable level matching has been proposed. With both of these methods, a time normalization matching method (a so-called DP matching method) utilizing dynamic programming for dealing with variations in speech speed, or the so-called two-step DP matching method proposed to prevent segmentation errors in continuously spoken word patterns and phoneme patterns have been used widely. These methods are described in detail in U.S. Pat. No. 3,816,722 and U.S. Pat. No. 4,049,913.

The number of reference patterns to be prepared in advance in connection with continuous speech recognition carried out with phoneme or syllable level matching may be extremely small as compared with that carried out by the word level matching. This allows a reduction in not only the user's reference pattern-registering load but also in the required memory capacity and in the required amount of computation. However, the recognition rate for the matching method which uses the phoneme level is low due to the influence of coarticulation.

In order to deal with such problems, it is useful that a consonant-vowel (which will be hereinafter referred to as "CV") combination and a vowel-consonant-vowel (which will be hereinafter referred to as "VCV") combination, which contain not only the ordinary information on phoneme level but also the information on the phoneme transition, be set as a recognition unit.

The following methods can generally be thought of as methods of preparing reference patterns.

(a) CV patterns are prepared. In this method, the number of reference patterns may be small. However, since reference patterns describing the V-to-C transition are not prepared, the recognition rate may decrease. Furthermore, it is difficult to determine a segmentation point because of the difficulty in finding a starting point of the consonant in continuous speech.

(c) VCV patterns are prepared. In this method, the reference pattern include both the V-to-C transition and C-to-V transition, so that attaining a high recognition rate can be expected. However, since there are a very large number of types of VCV patterns, the user's reference pattern-registering load, memory capacity and a processing requirements increase. A boundary between matching sections consists of a vowel, therefore, a matching section (segmentation points) can be easily determined because a vowel portion can be easily found. (c) CV patterns and VC patterns are prepared. In this method, a recognition rate as high as that in method (b) can be expected. Moreover, the number of types of reference patterns may be smaller than that used in method (b). However, it is not easy to cut out a section corresponding to VC.

SUMMARY OF THE INVENTION

Therefore, it is an object of the present invention to provide a pattern matching apparatus capable of reliably carrying out the syllable segmentation.

It is another object of the present invention to provide a pattern matching apparatus capable of reducing the user's reference pattern-registering load.

It is still another object of the present invention to provide a pattern matching apparatus capable of reducing memory capacity and the required amount of computation.

It is a further object of the present invention to provide a pattern matching appartaus used in a speech recognition system having all of the above-mentioned characteristics.

According to the present invention, a novel pattern matching apparatus can be obtained, which comprises a memory for storing an input pattern A={a(1), a(2), . . . , a(i), . . . , a(I)}, which is expressed as a sequence of feature vectors; a memory for storing a first reference pattern B₁ ={b₁ (1), b₁ (2), . . . , b₁ (j), . . . , b₁ (J₁)} and a second reference pattern B₂ ={b₂ (1), b₂ (2), . . . b₂ (j), . . . , b₂ (J₂)}, which are expressed as sequences of feature vectors; a calculator for calculating a first quantity representing a distance or other measurement representing a relationship between feature vectors a(i) and b₁ (j) or b₂ (j) at the designated point (i, j); the integral point using integral g(i,j) being a calculator for calculating first and second quantities representing distances between features a(i) and b₁ (j) and between features a(i) and b₂ (j), respectively, at a designated point (i,j); a calculator for calculating first and second integrals g₁ (i,j) and g₂ (i,j) of the first and second quantities at the point (i,j) by a time normalization matching method utilizing dynamic programming on the basis of said first and second quantities at the point (i,j), said first integral being obtained in a positive time direction from (i,j)-(1,1) to (I,J₁) with respect to said first reference pattern, and said second integral being obtained in a negative time direction from (i,j)= (I,J₂) with respect to said second reference pattern; a calculator for calculating an optimum integral at a designated coordinate i as a minimum or maximum value out of a set {g₁ (i, j), j=1, 2, . . . , J} of integrals in the positive direction with respect to the integral g₁ (i, j) in the positive direction, and as a value of the integral g(i, l) at a starting point (i.e. j=1) with respect to the integral g₂ (i, j) in the negative direction; a memory for storing the optimum integral {g₁ (i), i=1, 2 . . . , I} in the positive direction and the optimum integral {g₂ (i), i=1, 2 . . . , I} in the negative direction; and a means for determining the first quantity between the input pattern and a reference pattern which is obtained by connecting a front portion of the first reference pattern and second reference pattern together as a minimum or maximum value out of the results obtained by calculating g*(i)=g₁ (i)+g₂ (i) for each i.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B show slope constraints for matching paths and weighting for determining a distance integral according to the present invention;

FIG. 2 illustrates the basic principle of the pattern matching according to the present invention;

FIG. 2 is a block diagram showing the construction of a pattern matching apparatus applied to speech recognition according to the present invention; and

FIG. 4 illustrates an example of a method of separating an input speech pattern into VCV syllable patterns.

The above and other objects as well as characteristics of the invention will become apparent from the following description given with reference to the drawings.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The basic principle of the present invention will be described first, and its concrete construction will then be described in detail with reference to an embodiment thereof. In pattern matching, which will now be described, the concept of distance is used as a measure; other measurements representing relationships between pattern may, of course, be used instead.

The present invention has been achieved by improving the previously-described method (c) thus reducing the user's reference pattern-registering load, memory capacity and required amount of computation. In the method according to the present invention, a VCV pattern is used instead of the VC pattern in the method (c) to describe the V-to-C transition. Matching is carried out by VCV level by using a pattern obtained by connecting a VC portion of the VCV pattern and a CV pattern. Thus, the matching can be carried out excellently with respect to the recognition rate, user's reference pattern-registering load, memory capacity, amount of processing required and easiness in segmentation.

In the pattern matching carried out using VCV level, a matching section (a segmentation) can be easily obtained (performed) if a vowel portion is used as a candidate for a VCV boundary. Let a sequence of feature vectors in a certain VCV section of the input speech be expressed by the following formula;

    {a(1), a(2), . . . , a(i), . . . , a(I)}                   (1),

and the VCV patterns to be matched with the above pattern be V₁ CV₂. In this case the V₁ CV pattern (V may be arbitrarily selected) and the CV₂ pattern are used as reference patterns. Let the patterns V₁ CV and CV₂ be expressed by formulas (2) and (3).

    {b.sub.1 (1), b.sub.1 (2), . . . , b.sub.1 (j), . . . , b.sub.1 (J.sub.1)}(2)

    {b.sub.2 (1), b.sub.2 (2), . . . , b.sub.2 (j), . . . , b.sub.2 (J.sub.2)}(3)

Since V₁ CV₂ is a pattern obtained by connecting a V₁ CV pattern and a CV₂ pattern, a V₁ C portion of the V₁ CV pattern and the CV₂ pattern are connected together to carry out the pattern matching. Namely, the DP matching is carried out in the positive time direction (i.e., in the direction from the point (1,1) to the point (I,J) in FIG. 1A, or in the direction as shown by symbol P in FIG. 2) with respect to the V₁ CV pattern, and in the negative time direction (i.e., in the direction from the point (I,J₂) to the point (1,1) in FIG. 1B, or in the direction as shown by symbol N in FIG. 2) with respect to the CV₂ pattern. An integral g(i, j) of a distance d(i, j) between the feature vectors a(i) and b₁ (j) (or b₂ (j)) is developed in accordance with the following recurrence relation equation.

An integral g₁ (i, j) in the positive time direction under the initial condition g₁ (1, 1)=d₁ (1, 1) is determined in accordance with the recurrence relation equation (4), ##EQU1## wherein j=1, 2, . . . , J₁, for each i ranging from 1 to I. The equation (4) corresponds to the integration of a distance from the point (1, 1) up to the point (I, J₁) with a slope constraint and a weight shown in FIG. 1A on lattice time points of 1×J₁.

An integral g₂ (i, j) in the negative time direction under the initial condition g₂ (I, J₂)=d₂ (1, J₂) is determined in accordance with the equation (5), ##EQU2## wherein j=J₂, J₂ -1, . . . , 2, 1, for each i ranging 1 to I (i=I, I-1, . . . 2, 1). The equation (5) corresponds to the integration of a distance from the point (I, J₂) down to the point (1, 1) with an slope constraint and a weight shown in FIG. 1B.

The results of the above two DP matching operations are then combined with each other to obtain the matching results with respect to V₁ CV₂. Namely, the sum,

    g'(i)=g.sub.1 (i, J.sub.1)+g.sub.2 (i, 1)                  (6)

of an integral in the positive direction and that in the negative direction at each input time i is determined. ##EQU3## is then determined with respect to all combinations of the two patterns, and, finally, a combination of the two patterns having a minimum value among all of the combinations is obtained as the result of recognition.

Such a combination of the two DP matching operations (the positive time direction matching an negative time direction matching) is disclosed in the Proceedings of the Institute of Acoustic Engineers of Japan, No. 2-2-18, published in October, 1979.

However, when this method is used, the matching of a pattern, in which the terminal end of the V₁ CV pattern is connected to the starting end of the CV₂ pattern, with an input pattern is carried out.

In view of this, a V₁ CV pattern in the present invention is released at its terminal and, so that a starting end of a CV₂ pattern may be connected to any portion of the V₁ CV pattern. For the V₁ C_(n) V pattern when n-th consonant C_(n) is selected among a predetermined number of consonants,

    g.sub.1 *(i)=min g.sub.1 (i, j)                            (8)

    j=1, . . . , J.sub.1

is determined for each time point i of the input pattern, and for the CV₂ pattern,

    g.sub.2 *(i)=g.sub.2 (i, 1)                                (9)

is determined. Then, an integral ##EQU4## is further obtained. An integral g* for an another consonant is then determined. The integrals g* for all of the consonants prepared in advance are determined in the same manner. Finally, a consonant indicating a minimum value is judged as the consonant in an intermediate position in the VCV pattern. As shown in FIG. 2, the equation (8) indicates the result of matching the portion before the i-th frame of an input pattern with V₁ CV pattern whose terminal end is released, and the equation (9) the results of matching the portion after the i-th frame of the input pattern with a CV₁ pattern whose both ends are fixed. The equation (10) indicates the optimum result of matching the VCV pattern with a pattern obtained by connecting a terminal end-released V₁ CV pattern and a starting end-fixed CV₂ pattern. Therefore, according to the present invention, matching using the VCV level is possible with respect to a VCV pattern which is not prepared. This allows the user's reference pattern-registering load and the capacity of a memory used for the registration to be reduced remarkably.

An example of the construction of the present invention applied to a speech recognition system will now be described. In this example, the recognition using the VCV syllable level is carried out as mentioned previously.

The analyzer unit 1 shown in FIG. 3 is adapted to extract a feature vector a(i) in an i-th frame, which consists of a predetermined number of feature parameters (for example, spectrum information), from an input speech signal, Speech-in, at every predetermined frame by a known method, and outputs an input pattern A of the formula (1) expressed by a sequence of feature vectors thus obtained.

In a vowel extractor unit 2, a vowel portion of the input pattern from the analyzer unit 1 is extracted to determine a boundary in a VCV syllable pattern and a segmentation signal representative of the boundary time point is generated. This boundary is preferably in the center of the vowel portion since a region in the vicinity of the center of the vowel portion is stable, and therefore, can be extracted easily. Each vowel is determined in the following manner. Sequences of feature vectors with respect to five predetermined vowels /a/, /i/, /u/, /e/, /o/ are obtained by training and stored in a vowel memory 3. A distance between a sequence of feature vectors of a vowel portion obtained from the input pattern and each of the sequences of feature vectors of vowels read out from the memory 3 is calculated to determine a vowel of the shortest distance as a vowel in the vowel portion of the input pattern. Let V_(i) be a vowel in a front position in a VCV pattern thus determined, and V₂ a vowel in a rear position therein. Signals representative of these vowels are supplied to a VCV memory 4 and a VCV memory 5.

FIG. 4 shows the relation between the input pattern and the VCV syllable pattern. An input vowel pattern A₁ has as a vowel V₁ in a front position therein, a front half portion of a vowel V₁ being in a rear position of a preceding syllable pattern, and has a vowel V₂ in a rear position therein, a front half portion of a vowel V₂ in a rear position in the same pattern A₁. Namely, the pattern A₁ consists of V₁ C₁ V₂, and a pattern A₂ consists of V₂ C₂ V₃.

A sequence of feature vectors according to the equation (2) with respect to VCV patterns of all combinations of V₁ C_(n) V₀ patterns, in which /a/, /i/, /u/, /e/, /o/ are allotted as vowels V₁ in a front position; an arbitrary vowel (/a/ in this embodiment) as a vowel V₀ in a rear position; and N pieces of consonants /k/, /s/, /t/, /c/, /n/, /h/, . . . /b/, /p/, /ky/, /ny/, /y/, /w/, which are prepared in advance, as consonants in the central position, are stored in the VCV memory 4. A sequence of feature vectors according to the equation (3) with respect to CV patterns, in which the above consonants and vowels are allotted as the consonant in a front position and the vowels in a rear position, are stored in advance in the CV memory 5. The speech of the above-mentioned patterns are uttered several times to obtain sequences of feature vectors using a means similar to the analyzer unit 1, and a representative sequence of vectors (for example, an average sequence of vectors) may be used. When semivowels /ya/, /yu/, /yo/ are added to the above-mentioned vowels allotted as V in the CV patterns stored in the CV memory 5, more accurate recognition can be achieved.

The VCV memory 4 and CV memory 5 generate a V₁ C_(n) V₀ pattern and a C_(n) V₂ pattern, respectively, to a multiplexer 7 in response to signals representative of V₁, V₂ supplied from the vowel extractor unit 2 and a signal C_(n) representative of a n-th consonant C_(n).

On the other hand, a sequence of feature vectors of one utterance or a predetermined length of the input pattern is stored in a buffer memory 6. The buffer memory 6 generates a VCV syllable pattern having time points T_(V1), T_(V2) as boundary points to a distance calculator unit 8 in response to the segmentation signals T_(V1), T_(V2) supplied from the unit 2.

The multiplexer 7 is adapted to supply a signal from the VCV memory 4 when K=K₁, and a signal from the CV memory 5 when K=K₂, to the distance calculator unit 8 in accordance with a control signal K from a controller 15.

The calculator unit 8 is adapted to calculate a distance d(i, j) in a predetermined range of a frame i of the input pattern and a frame j of a reference pattern between a sequence of feature vectors of a VCV pattern or a CV pattern, which is a reference pattern from the multiplexer 7, and a sequence of feature vectors of the input pattern expressed by the formula (1) and supplied from the buffer memory 6. The distance d(i, j) thus obtained is stored in the calculator unit 8.

A recurrence relation calculator unit (g₁ & g₂ calculator unit) 9 is adapted to calculate a distance integral g₁ (i, j) between an input syllable pattern V₁ CV₂ and a reference syllable pattern V₁ C_(n) V₀ on the basis of equation (4) using a positive-direction DP matching method when K=K₁ and a distance integral g₂ (i, j) between the input syllable pattern V₁ CV₂ and a reference syllable pattern C_(n) V₂ on the basis of the equation (5) using a negative-direction DP matching method when K=K₂, and store the results in a memory 10.

An optimum integral calculator unit 11 is adapted to calculate on the basis of equation (8) the smallest value g₁ *(i) among a total of J₁ integrals obtained for each of the time points i of the input pattern read out from the memory 10 (wherein J₁ is the length of a reference pattern V₁ C_(n) V₀). Also g₂ *(i) is determined on the basis of the equation (9) as g₂ (i, l). The g₁ *(i) and g₂ *(i) for the time points i thus obtained are stored in a memory 12.

A calculator (g* estimator) 13 is adapted to determine on the basis of the equation (10) a matching distance g* which gives the smallest sum of the integrals g₁ *(i) and g₂ *(i) for each time point i read out from the memory 12, and sends the resultant g* to a judging unit 14. The integral g* is a distance for the reference syllable pattern including the n-th consonant C_(n), and, therefore, it is expressed as g*[C_(n) ]. A distance g*[C_(n+1) ] for a reference syllable pattern including a (n+1)th consonant is then determined. The smallest value among a total of N pieces of thus obtained g*[C_(n) ] (wherein n is 1 to N) distances is then determined in the judging unit 14 to conclude that the consonant giving the smallest value is the consonant C included in the input syllable pattern. Such a judging unit can be formed with a known minimum value detecting circuit consisting of a register and a comparator.

The judging unit 14 judges on the basis of the vowels V₁, V₂ extracted by the vowel extractor unit 2 and the consonant C concludes as mentioned above that the input syllable pattern is V₁ CV₂, and outputs the conclusion as the result of the determination or recognition.

According to the above operations, the recognition of one input syllable pattern A₁ (in FIG. 4) among the time sequence syllable patterns is completed, and the recognition of a subsequent input syllable pattern A₂ is then carried out. The time sequence syllable patterns are thus recognized in order with the vowels therein in an overlapping state. Finally, the input speech is recognized with due consideration given to the overlapping recognition of vowels.

In the above described embodiment of the present invention, the asymmetric equations (4) and (5) are used as the recurrence relation equations for the DP matching. In addition to these, there are some symmetric equations for the DP matching. For example, ##EQU5## can be used instead of the equation (4), and ##EQU6## instead of the equation (5). It has been experimentally proven that the DP matching according to a symmetric equation has a higher recognition performance than the DP matching according to an asymmetric equation. When a symmetric equation is used, it is necessary that the integrals g₁, g₂ be normalized on the basis of the lengths of an input pattern and a reference pattern. Where a matching operation is carried out with both ends of the patterns fixed, the integrals are generally normalized by the sum of the lengths of two patterns to be compared with other. Let, for example, I and J be the lengths of two patterns to be compared. A matching distance finally determined is expressed as: ##EQU7##

When the same concept is applied to the present invention, ##EQU8## can be used instead of, for example, the equation (7). In the equation (7), the integrals are normalized by the weighted sum of the lengths of input pattern and reference patterns.

Therefore, when the equations (11) and (12) are used, an apparatus according to the present invention is so formed that a matching distance calculator unit is capable of normalizing integrals by dividing the sum g*(i) of optimum integrals in the positive direction and optimum integration amounts in the negative direction for the respective i's by the weighted sum of the input pattern and two reference patterns, and thereafter determining a minimum value out of the resulting values. 

What is claimed is:
 1. A pattern matching apparatus comprising:a first memory for storing an input patter A={a(1), a(2), . . . , a(i), . . . , a(I)}, which is expressed as a sequence of feature vectors; a second memory for storing a first reference pattern B₁ ={b₁ (1), b₁ (2), . . . , b₁ (j), . . . , b₁ (J₁)} and a second reference pattern B₂ ={b₂ (1), b₂ (2), . . . , b₂ (j), . . . , b₂ (j₂)}, which are expressed as sequences of feature vectors; a first calculator for calculating first and second quantities representing distances between said features a(i) and b₁ (j) and between said features a(i) and b₂ (j), respectively, at designated point (i, j); a second calculator for calculating first and second integrals g₁ (i,j) and g₂ (i,j) of said first and second quantities at the point (i, j) by a time normalization matching method utilizing dynamic programming on the basis of said first and second quantities at the point (i,j), said first integral being obtained in a positive time direction from (i,j)=(1,1) to (I,J₂) with respect to said first reference pattern, and said second integral being obtained in a negative time direction from (i,j)=(I₁,J₂) to (1,1) with respect to said second reference pattern; a third calculator for calculating an optimum integral at a designated i as a minimum or maximum value out of a set {g₁ (i, j), j=1, 2, . . . , J} of the integrals in the positive direction with respect to the integral g₁ (i,j) in a positive direction, and as a value of the integral g(i, 1) at a starting end (i.e. j=1) with respect to the integral g₂ (i,j) in the negative direction; a third memory for storing the optimum integral {g, (i), i=1, 2, . . . , I} in the positive direction and the optimum integral {g₂ (i), [=1, 2, . . . , I} in the negative direction; and a determination means for determining a whole quantity between said input pattern and a reference pattern which is obtained by connecting a front portion of said first reference pattern and a second reference pattern together as a minimum or maximum value out of the results obtained by calculating g*(i)=g₂ (i)+g₂ (i) for each i.
 2. An apparatus according to claim 1, wherein said determination means develops a minimum or maximum value obtained by dividing the g*(i) by the weighted sum of the length of said input pattern and said first and second reference patterns.
 3. An apparatus according to claim 2, wherein a minimum value of said normalized g*(i) is expressed by: ##EQU9##
 4. An apparatus according to claim 1, wherein ##EQU10##
 5. An apparatus according to claim 1, wherein ##EQU11##
 6. A pattern matching apparatus for the recognition of speech, comprising:a first means for extracting a vowel portion from an input speech pattern expressed as a sequence of feature vectors; a second means for storing a predetermined portion of said input speech pattern and outputting an input pattern A={a(1), a(2), . . . , a(i), . . . , a(I)} as a syllable pattern V₁ CV₂ consisting of two extracted vowels V₁, V₂ and a consonant C existing therebetween; a third means for storing syllable patterns consisting of combinations a predetermined number of first vowels, a predetermined number of consonants and second vowels with the order of these vowels and consonants maintained, the number of said second vowels being smaller than that of said first vowels, and outputting a first reference pattern B₁ {b₁ (1), b₁ (2), . . . , b₁ (j), . . . , b₁ (J₁)} as a syllable pattern V₁ C_(n) V₀ in response to said extracted vowel V₁, designated consonant C_(n) and second vowel V₀ ; a fourth means for storing syllable patterns consisting of combinations of a predetermined number of consonants and a predetermined number of third vowels with the order of these consonants and vowels maintained, and outputting a second reference pattern B₂ ={b₂ (1), b₂ (2), . . . , b₂ (j), . . . , b₂ (J₂)} as a syllable pattern C_(n) V₂ in response to said designated consonant C_(n) and said extracted vowel V₂ ; a fifth means for calculating first and second quantities representing distances between said features a(i) and b₁ (j) and between said features a(i), respectively, at the designated point (i,j); a sixth means for calculating first and second integrals g₁ (i,j) of said first and second quantities at the point (i,j) by a time normalization matching method utilizing dynamic programming on the basis of said first and second quantities at the point (i,j), said first integral being obtained in a positive time direction from (i,j)=(1,1 to (I,J₁) with respect to said first reference pattern, and said second integral being obtained in a negative time direction from (i,j)=(I,J₂) to (1,1) with respect to said second reference pattern; a seventh means for determining an optimum integration amount for a designated i as a minimum or maximum value out of a set {g(i,j), j=1, 2, . . . , J} of the integration amount in the positive direction with respect to the integration amount g₁ (i,j) in the positive direction, and as a value of the integration amount g(i,j) at a terminal end point (i.e. j=1) with respect to the integration amount g₂ (i,j) in the negative direction; an eighth means for storing the optimum integration amount {g₁ (i), i=1, 2, . . . , I} in the positive direction and optimum integration amount {g₂ (i), i=1, 2, . . . , I} in the negative direction; a ninth means for determining g*(i)=g₁ (i)+g₂ (i) for each i with all of the consonants designated, to obtain a minimum or maximum value out of the results of the determination; and a tenth means for determining a designated consonant giving the minimum or maximum value of g* as a consonant included in said input syllable pattern.
 7. An apparatus according to claim 6, wherein said second vowel is one predetermined vowel.
 8. An apparatus according to claim 6, wherein semivowels are included as said first and second vowels.
 9. An apparatus according to claim 6, wherein said input pattern is a syllable pattern having a boundary in substantially the center of an extracted vowel. 